//
// Created by admin on 2021/2/15.
//

#ifndef ANDROIDGRAPHICSDEMOS_RENDERITEMSTATICOPAQUE_H
#define ANDROIDGRAPHICSDEMOS_RENDERITEMSTATICOPAQUE_H
#include "RenderItem.h"
#include "RenderItemOpaque.h"
#include <memory>
#include <vector>
#include <gles3/gl32.h>
#include <glm.hpp>
#include "VertexAttrib.h"
#include "GLESUtils.h"

class Buffer;
class Texture;
class Model;

template<GraphicsAPI api> class RenderItemStaticOpaque;


template<>
class RenderItemStaticOpaque<GraphicsAPI::GLESv3> : public RenderItemOpaque<GraphicsAPI::GLESv3>, public IGLESRenderItem<RenderItemStaticOpaque<GraphicsAPI::GLESv3>>{
public:

    RenderItemStaticOpaque();
    virtual void LoadMeshFileData(const char * mesh_file,
                                  glm::vec3 translation = glm::vec3(0, 0, 0),
                                  glm::vec3 rotation = glm::vec3(0, 0, 0),
                                  glm::vec3 scale = glm::vec3(1.0, 1.0, 1.0));
};


#endif //ANDROIDGRAPHICSDEMOS_RENDERITEMSTATICOPAQUE_H
